package com.cloudkinto.service.company.vo;

import cn.hutool.core.date.DateUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
public class WarehouseOrderCreateResponse {

    private boolean success = false;

    private Integer errorCode;

    private String errorMsg;
    @ApiModelProperty(value = "系统服务时间，秒级时间戳", required = true)
    private Integer serverTime = Math.toIntExact(DateUtil.currentSeconds());

    private Result result;

    @Data
    public static class Result {
        @ApiModelProperty(value = "temu 的批次订单号(不管成功失败，必须返回)", required = true)
        private String batchOrderNo;

        //10：接单成功20：组波成功30：拣货完成40：打包完成50：发货完成55：订单取消接单成功（异步）60：订单取消成功70：订单取消失败99：订单异常（带原因）
        //注意事项：
        //1） 一定要确保订单无法履约才能返回 99 状态，如果是服务异常不能返回 99 2） 推送 50 前一定要确保发运信息推送成功 3） 下单或取消一定要返回批次号和状态
        @ApiModelProperty(value = "订单状态", required = true)
        private String orderStatus;

        public Result() {
        }

        public Result(String batchOrderNo, String orderStatus) {
            this.batchOrderNo = batchOrderNo;
            this.orderStatus = orderStatus;
        }
    }

    public WarehouseOrderCreateResponse() {
    }

    public WarehouseOrderCreateResponse(Integer errorCode, String errorMsg) {
        this.errorCode = errorCode;
        this.errorMsg = errorMsg;
    }
}
